<?php

class Roteiro extends ADM_Controller {

    //put your code here

    public function __construct() {
        parent::__construct();
        ////load_module($_module, $langfile, $lang = '')
        //$this->load->language('pessoa/pessoa_cadastro');

        $this->checar_metodo(uri_string());

        $this->load->language('roteiro/menu_roteiro');
        $this->load->model('roteiro/disciplinas_model');
        $this->load->model('roteiro/roteiro_model');
        $this->load->model('roteiro/roteiro_arquivos_model');

        $this->load->add_module('pessoa');
        $this->load->config('pessoa/parametros');
        $this->load->model('pessoa/pessoa_model');

        $this->load->add_module('arquivo');
        $this->load->config('arquivo/parametros');
        $this->load->model('arquivo/arquivo_model');
    }

    function remover($_id){
        $this->roteiro_model->deletar($_id);

        $v_dados['msg'] = $this->lang->line('lang_msg_submit_deletar_success');
        $v_dados['header'] = $this->lang->line('lang_header_submit_deletar_success');
        $v_dados['cod'] = 999;
         echo json_encode($v_dados);
    }

    function cadastrar() {
        $v_dados = array();
        $v_dados['roteiro'] = array();

        $versao = array(
            '1' => 'V01',
        );
        //echo var_dump($v_dados['contatos'][$k]['id']);
        $v_dados['id'] = "";
        $v_dados['lista_disciplinas_combo'] = form_dropdown('disciplinas_id', $this->disciplinas_model->get_disciplinas_combo(), array(), ' required="required" original-title="Selecione uma Disciplina"');
        $v_dados['lista_autores_combo'] = form_dropdown('pessoa_id', $this->pessoa_model->get_pessoas_combo(), array(), ' required="required" original-title="Selecione um Autor"');
        $v_dados['roteiro_tipos_combo'] = form_dropdown('roteiros_tipo_id', $this->roteiro_model->get_roteiro_tipos_combo(), array(), ' required="required" original-title="Selecione um Tipo"');
        $v_dados['versao_combo'] = form_dropdown('versao', $versao, array(), ' required="required"');


        $v_dados['action_roteiros_gravar'] = $this->permissions->get_url('roteiro_roteiro_gravar');
        $v_dados['link_listar_roteiros'] = $this->permissions->get_url('roteiro_roteiro_consultar');
        //$v_dados['link_roteiro_status'] = "DAVI"; //$this->permissions->get_url('contato_contato_status');
        $v_dados = $this->lang->multi_line($v_dados);
        $this->parser->parse_cms('roteiro_cadastrar_view', $v_dados);
    }

    public function consultar() {
        $v_dados['lista_roteiros'] = $this->roteiro_model->consultar();
        $v_dados['action_roteiros_cadastrar'] = $this->permissions->get_url('roteiro_roteiro_cadastrar');
        $v_dados['link_listar_roteiros'] = $this->permissions->get_url('roteiro_roteiro_cadastrar');
        $v_dados = $this->lang->multi_line($v_dados);
        $v_dados["link_roteiro_deletar"] = $this->permissions->get_url('roteiro_roteiro_remover');
        //echo var_dump($this->roteiro_model->consultar());
        $this->parser->parse_cms('roteiro_view', $v_dados);
    }

    public function gravar() {
        $v_dados = array();
        $arquivoFilename = array();
        $erro = false;
        $arquivo = NULL;

        $this->load->library('form_validation');
        $this->form_validation->set_rules('disciplinas_id', 'lang:lang_disciplinas_id', 'trim|required');
        $this->form_validation->set_rules('pessoa_id', 'lang:lang_disciplinas_id', 'trim|required');
        $this->form_validation->set_rules('roteiros_tipo_id', 'lang:lang_roteiro_tipo_id', 'trim|required');
        $this->form_validation->set_rules('descricao', 'lang:lang_descricao', 'trim|required');

        /// VERIFICAR ARQUIVO.
        if ($this->input->post('arquivo') != NULL) {
            foreach ($this->input->post('arquivo') as $key => $value) {
                //echo "IMAGEM: ".$key;$arquivo = $value;
                // if ($this->roteiro_model->consultarReferencia($value) == NULL) {
                $arquivo = $value;
                $arquivoF = explode('-', $arquivo);
                $arquivoFilename[$key] = explode('.', $arquivo);
                if ($this->roteiro_model->consultarReferenciaLike($arquivoF[0] . "-" . $arquivoF[1] . "-" . $arquivoF[2]) != NULL) {
                    $v_dados['cod'] = 111;
                    $v_dados['msg'] = "Objeto de Roteiro ja existente."; //$this->lang->line('lang_msg_submit_warning');
                    $v_dados['header'] = "ERRO"; //$this->lang->line('lang_header_submit_warning');
                    $erro = true;
                }

                //         echo "ARQUIVOINFO: ".$arquivoInfo[0]->nome . "ARQUIVOINFO1: ".$arquivoInfo[1]->nome . "POST: ".$_POST['imagens'][0].$_POST['imagens'][1]."FILEENAME: ".var_dump($arquivoFilename)."PRIMEIRO: ".$arquivoFilename[0][0] . "OUTRO: ".$arquivoFilename[1][0];
                //if($arquivoFilename[0][0] != $arquivoFilename[1][0]){
                //   $v_dados['cod'] = 111;
                //   $v_dados['msg'] = "Arquivos não tem o mesmo nome."; //$this->lang->line('lang_msg_submit_warning');
                //    $v_dados['header'] = "ERRO"; //$this->lang->line('lang_header_submit_warning');
                //    $erro = true; 
                // }
                // } else {
                //     $v_dados['cod'] = 111;
                //      $v_dados['msg'] = "Arquivo já cadastrado em roteiro."; //$this->lang->line('lang_msg_submit_warning');
                //     $v_dados['header'] = "ERRO"; //$this->lang->line('lang_header_submit_warning');
                //     $erro = true;
                //  }
            }
        } else {
            $arquivo = NULL;
            $erro = true;
        }

        if ($arquivo != NULL || $erro == false) {


            if (sizeof($arquivoF) == 5) {
                ///// TAMANHO DO NOME TA CERTO
                $arquivoNomeArray = explode(".", $arquivo);
                $arquivoNome = $arquivoNomeArray[0];
                $arquivoF[0]; //MATERIA 3 LETRAS
                $arquivoF[1]; //CÓDIGO AUTOR RM 
                $arquivoF[2]; //TIPO OBJ
                $arquivoF[3]; //VERSAO V01
                $arquivoF[4]; //NOME ROTEIRO
                //echo var_dump($this->disciplinas_model->get_disciplina($this->input->post('disciplinas_id')));

                if (strtoupper(url_title(substr($this->disciplinas_model->get_disciplina($this->input->post('disciplinas_id'))->nome, 0, 3))) == $arquivoF[0]) {
                    //echo "DISCIPLINA OK";
                } else {
                    //echo "ERRO DISCIPLINA.";
                    $v_dados['cod'] = 111;
                    $v_dados['msg'] = "Disciplina selecionada não corresponde a do arquivo"; //$this->lang->line('lang_msg_submit_warning');
                    $v_dados['header'] = "ERRO"; //$this->lang->line('lang_header_submit_warning');
                    $erro = true;
                    //$v_dados['campos'] = $this->form_validation->erros_campos_json();
                }

                if (strtoupper($this->pessoa_model->consultar($this->input->post('pessoa_id'))->referencia) == $arquivoF[1]) {
                    //echo "AUTOR OK OK";
                } else {
                    //echo "ERRO AUTOR.";
                    $v_dados['cod'] = 111;
                    $v_dados['msg'] = "MENSAGEM ERRO AUTOR";
                    $v_dados['header'] = "ERRO";
                    $erro = true;
                }
                if (strtoupper(substr($this->roteiro_model->get_roteiro_tipos($this->input->post('roteiros_tipo_id'))->nome, 0, 3)) == substr($arquivoF[2], 0, 3)) {
                    //echo substr($arquivoF[2], 0, 3) . "TIPO OBJETO OK" . strtoupper(substr($this->roteiro_model->get_roteiro_tipos($this->input->post('roteiros_tipo_id'))->nome, 0, 3));
                } else {
                    //echo "ERRO TIPO.";
                    $v_dados['cod'] = 111;
                    $v_dados['msg'] = "Tipo não corresponde ao do Arquivo."; //$this->lang->line('lang_msg_submit_warning');
                    $v_dados['header'] = "ERRO";
                    $erro = true;
                }
            } else {
                /// ERRO No TAMANHO DO ARQUIVO. Ou seja tem mais hifen do que deveria ter";
                $v_dados['cod'] = 111;
                $v_dados['msg'] = "Formato de nome do arquivo enviado errado.";
                $v_dados['header'] = "ERRO";
                $erro = true;
            }
        }


        if ($this->form_validation->run($this) && $erro == false) {
            $_dados = array();
            $_dados['pessoa_id'] = trim($this->input->post('pessoa_id'));
            $_dados['roteiros_tipo_id'] = trim($this->input->post('roteiros_tipo_id'));
            $_dados['disciplinas_id'] = trim($this->input->post('disciplinas_id'));
            $_dados['versao'] = (int) substr($arquivoF[3], -2); //trim($this->input->post('versao'));
            $_dados['nome'] = $arquivoNome; //$this->input->post('nome');
            $_dados['referencia'] = $arquivoNome; //$arquivo; //uniqid();/// MONTAR NOME DO ARQUIVO
            $_dados['descricao'] = $this->input->post('descricao');

            if ($this->input->post('id') == '') {
                $v_dados['id'] = $this->roteiro_model->cadastrar($_dados);
                $v_dados['cod'] = 999;
                $v_dados['msg'] = $this->lang->line('lang_msg_submit_success');
                $v_dados['header'] = $this->lang->line('lang_header_submit_success');
                //echo $this->input->post('arquivo');
                $arquivoNome = $this->input->post('arquivo');
                //pre($arquivoNome);
                $consultar_arquivo = $this->arquivo_model->consultarNome($arquivoNome[0]);
                //pre($consultar_arquivo);
                $dados['roteiros_id'] = $v_dados['id'];
                $dados['arquivos_id'] = $consultar_arquivo[0]->id;
                $this->roteiro_arquivos_model->cadastrar($dados);
                
                
                
            } else {
                $this->roteiro_model->alterar($this->input->post('id'), $_dados);
                $v_dados['id'] = $this->input->post('id');
                $v_dados['cod'] = 999;
                $v_dados['msg'] = $this->lang->line('lang_msg_submit_alterado_success');
                $v_dados['header'] = $this->lang->line('lang_header_submit_success');
                
                $dados = array();
                
                //pre($this->input->post('arquivo'));
                //foreach ($this->input->post('arquivo') as $key => $value) {
                    echo $this->input->post('arquivo');
                    $consultar_arquivo = $this->arquivo_model->consultarNome($this->input->post('arquivo'));
                    //pre($consultar_arquivo);
                    //if ($consultar_arquivo == NULL) {
                        $dados['arquivos_id'] = $consultar_arquivo[0]->id;
                        $this->roteiro_arquivos_model->cadastrar($dados);
                   // }
                //}
                
                
            }
           
                
        } else {
            $v_dados['cod'] = 111;
            //$v_dados['msg'] = $this->lang->line('lang_msg_submit_warning');
            $v_dados['header'] = $this->lang->line('lang_header_submit_warning');
            $v_dados['campos'] = $this->form_validation->erros_campos_json();
        }
        echo json_encode($v_dados);
    }

}